common.skill

প্রোগ্রামেটিকভাবে কন্টেন্ট সাফ করা

Java Technologies - অ্যাপাচি পিওআই (পাওয়ারপয়েন্ট)
141
141

Apache POI লাইব্রেরি ব্যবহার করে PowerPoint ফাইলের কন্টেন্ট প্রোগ্রামেটিকভাবে সাফ করা সম্ভব। অনেক সময় আপনি একটি পিপিটি বা পিপিটি এক্স (PPTX) ফাইল খুলে তাতে থাকা নির্দিষ্ট কন্টেন্ট যেমন টেক্সট, চিত্র, টেবিল বা শেপ মুছে ফেলতে চাইতে পারেন। Apache POI আপনাকে PowerPoint ফাইল থেকে এই কন্টেন্টগুলি মুছে ফেলতে সহায়তা করে।

এখানে, আমরা দেখব কিভাবে PowerPoint ফাইল থেকে স্লাইড, টেক্সট, এবং অন্যান্য কন্টেন্ট প্রোগ্রামেটিকভাবে মুছে ফেলা যায়।


PowerPoint ফাইল থেকে স্লাইড মুছে ফেলা

একটি PPTX বা PPT ফাইল থেকে নির্দিষ্ট স্লাইড মুছে ফেলার জন্য আপনি XMLSlideShow বা HSLFSlideShow ক্লাসের মেথড ব্যবহার করতে পারেন। স্লাইড মুছে ফেলা হলে ফাইলের সেই স্লাইডটি সম্পূর্ণরূপে হারিয়ে যাবে।

উদাহরণ: PPTX ফাইল থেকে স্লাইড মুছে ফেলা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class DeleteSlideExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint ফাইল ওপেন করা
        FileInputStream fis = new FileInputStream("presentation.pptx");
        XMLSlideShow ppt = new XMLSlideShow(fis);
        fis.close();

        // স্লাইডের তালিকা পাওয়া
        List<XSLFSlide> slides = ppt.getSlides();

        // প্রথম স্লাইড মুছে ফেলা
        ppt.removeSlide(0);

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("modified_presentation.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল থেকে স্লাইড সফলভাবে মুছে ফেলা হয়েছে!");
    }
}

উদাহরণের ব্যাখ্যা:

  1. XMLSlideShow ppt = new XMLSlideShow(fis);
    এখানে আমরা একটি PowerPoint ফাইল খুলে তা XMLSlideShow ক্লাসে লোড করছি।
  2. ppt.removeSlide(0);
    প্রথম স্লাইডটি মুছে ফেলা হচ্ছে। আপনি যেকোনো স্লাইডের ইনডেক্স ব্যবহার করে এটি মুছে ফেলতে পারেন।
  3. ppt.write(out);
    সংশোধিত ফাইলটি সেভ করা হচ্ছে।

PowerPoint ফাইল থেকে টেক্সট মুছে ফেলা

একটি স্লাইডের সমস্ত টেক্সট বা নির্দিষ্ট টেক্সট মুছে ফেলার জন্য আপনাকে XSLFTextShape বা HSLFTextShape ক্লাস ব্যবহার করতে হবে। এই ক্লাসগুলো স্লাইডের টেক্সটের সব শেপ এবং টেক্সট ব্লক সনাক্ত করতে সহায়ক।

উদাহরণ: PPTX ফাইল থেকে টেক্সট মুছে ফেলা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class DeleteTextExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint ফাইল ওপেন করা
        FileInputStream fis = new FileInputStream("presentation.pptx");
        XMLSlideShow ppt = new XMLSlideShow(fis);
        fis.close();

        // স্লাইডে টেক্সট শেপগুলির তালিকা পাওয়া
        List<XSLFSlide> slides = ppt.getSlides();
        for (XSLFSlide slide : slides) {
            List<XSLFTextShape> textShapes = slide.getShapes();
            for (XSLFTextShape shape : textShapes) {
                // টেক্সট মুছে ফেলা
                shape.clearText();
            }
        }

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("modified_presentation.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল থেকে টেক্সট সফলভাবে মুছে ফেলা হয়েছে!");
    }
}

উদাহরণের ব্যাখ্যা:

  1. List textShapes = slide.getShapes();
    এই লাইনটি স্লাইডে থাকা সমস্ত Text Shape গুলি সংগ্রহ করে।
  2. shape.clearText();
    এই মেথডটি নির্দিষ্ট টেক্সট শেপের সমস্ত টেক্সট মুছে ফেলে।
  3. ppt.write(out);
    ফাইলটি আবার সেভ করা হয়।

PowerPoint ফাইল থেকে চিত্র বা শেপ মুছে ফেলা

PowerPoint স্লাইডে বিভিন্ন ধরনের শেপ (যেমন বক্স, আয়তক্ষেত্র, ইত্যাদি) এবং চিত্র (যেমন ছবি, গ্রাফিক্স) থাকতে পারে। আপনি XSLFShape অথবা HSLFShape ব্যবহার করে স্লাইডের শেপ বা চিত্র মুছে ফেলতে পারেন।

উদাহরণ: PPTX ফাইল থেকে চিত্র/শেপ মুছে ফেলা

import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFPictureData;
import org.apache.poi.xslf.usermodel.XSLFShape;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

public class DeleteShapeExample {
    public static void main(String[] args) throws IOException {
        // PowerPoint ফাইল ওপেন করা
        FileInputStream fis = new FileInputStream("presentation.pptx");
        XMLSlideShow ppt = new XMLSlideShow(fis);
        fis.close();

        // স্লাইডে শেপগুলির তালিকা পাওয়া
        List<XSLFSlide> slides = ppt.getSlides();
        for (XSLFSlide slide : slides) {
            List<XSLFShape> shapes = slide.getShapes();
            for (XSLFShape shape : shapes) {
                // নির্দিষ্ট শেপ মুছে ফেলা
                if (shape instanceof XSLFPictureData) {
                    slide.removeShape(shape); // চিত্র বা শেপ মুছে ফেলা
                }
            }
        }

        // PowerPoint ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("modified_presentation.pptx")) {
            ppt.write(out);
        }

        System.out.println("PowerPoint ফাইল থেকে শেপ/চিত্র সফলভাবে মুছে ফেলা হয়েছে!");
    }
}

উদাহ面的 ব্যাখ্যা:

  1. List shapes = slide.getShapes();
    স্লাইডের সমস্ত শেপ বা চিত্রগুলো তালিকাভুক্ত করা হচ্ছে।
  2. slide.removeShape(shape);
    শেপটি স্লাইড থেকে মুছে ফেলা হচ্ছে।
  3. ppt.write(out);
    পরিবর্তন করা ফাইলটি সেভ করা হচ্ছে।

সারাংশ

Apache POI ব্যবহার করে PowerPoint ফাইল থেকে স্লাইড, টেক্সট, চিত্র, বা শেপ প্রোগ্রামেটিকভাবে মুছে ফেলা সম্ভব। আপনি XMLSlideShow বা HSLFSlideShow ক্লাসের সাহায্যে স্লাইড, শেপ, বা টেক্সট মুছে ফেলতে পারেন এবং সংশোধিত ফাইল সেভ করতে পারেন।

এটি একটি শক্তিশালী উপায় PowerPoint কন্টেন্ট পরিচালনা এবং কাস্টমাইজ করার জন্য, বিশেষ করে যখন আপনি পিপিটি ফাইলগুলো প্রোগ্রামেটিকভাবে পরিবর্তন করতে চান।


common.content_added_by

নির্দিষ্ট Slides বা Elements রিমুভ করা

135
135

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে PowerPoint (PPTX) ফাইল থেকে নির্দিষ্ট Slides বা Elements রিমুভ করা সম্ভব। POI লাইব্রেরি আপনাকে PowerPoint ফাইলের স্লাইড এবং উপাদান (Elements) সম্পাদনা এবং ম্যানিপুলেট করার সুবিধা দেয়। নির্দিষ্ট স্লাইড বা শেপ (Shape) রিমুভ করতে, আপনি স্লাইড বা শেপের remove() মেথড ব্যবহার করতে পারেন।

এখানে কিভাবে একটি PowerPoint ফাইল থেকে নির্দিষ্ট Slides এবং Elements (যেমন, TextBox বা Image) রিমুভ করতে হয়, তা দেখানো হলো।


PowerPoint ফাইল থেকে Slide বা Element রিমুভ করা

1. নির্দিষ্ট Slide রিমুভ করা

PowerPoint ফাইলে একাধিক স্লাইড থাকতে পারে এবং যদি কোন একটি স্লাইড রিমুভ করতে চান, তবে তার জন্য XMLSlideShow এর removeSlide() মেথড ব্যবহার করতে হবে।

কোড উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import java.io.*;

public class RemoveSlideExample {
    public static void main(String[] args) throws IOException {
        // একটি PowerPoint ফাইল লোড করা
        FileInputStream is = new FileInputStream("example.pptx");
        XMLSlideShow ppt = new XMLSlideShow(is);

        // প্রথম স্লাইড রিমুভ করা (স্লাইডের ইনডেক্স 0)
        XSLFSlide slide = ppt.getSlides().get(0);  // প্রথম স্লাইড
        ppt.removeSlide(slide);  // স্লাইড রিমুভ করা

        // পরিবর্তিত PowerPoint ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("modified.pptx")) {
            ppt.write(out);
        }

        System.out.println("Slide সফলভাবে রিমুভ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  1. PowerPoint ফাইল লোড: XMLSlideShow ppt = new XMLSlideShow(is); কোডের মাধ্যমে PowerPoint ফাইলটি লোড করা হয়েছে।
  2. নির্দিষ্ট স্লাইড নির্বাচন: ppt.getSlides().get(0); এর মাধ্যমে প্রথম স্লাইডটি নির্বাচন করা হয়েছে।
  3. স্লাইড রিমুভ: ppt.removeSlide(slide); মেথড ব্যবহার করে প্রথম স্লাইডটি রিমুভ করা হয়েছে।
  4. ফাইল সংরক্ষণ: পরিবর্তিত ফাইলটি modified.pptx নামে সংরক্ষণ করা হয়েছে।

2. নির্দিষ্ট Element (Shape, TextBox, Image) রিমুভ করা

PowerPoint ফাইলে থাকা শেপ (Shape), টেক্সটবক্স (TextBox), বা ছবি (Image) রিমুভ করতে আপনাকে শেপ বা উপাদানটি চিহ্নিত করে তার remove() মেথড ব্যবহার করতে হবে। এই উদাহরণে, একটি TextBox রিমুভ করা হবে।

কোড উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.ShapeType;
import java.io.*;

public class RemoveElementExample {
    public static void main(String[] args) throws IOException {
        // একটি PowerPoint ফাইল লোড করা
        FileInputStream is = new FileInputStream("example.pptx");
        XMLSlideShow ppt = new XMLSlideShow(is);

        // প্রথম স্লাইড থেকে শেপ পেতে
        XSLFSlide slide = ppt.getSlides().get(0);

        // স্লাইড থেকে টেক্সটবক্স খুঁজে বের করা
        for (XSLFShape shape : slide.getShapes()) {
            if (shape instanceof XSLFTextBox) {
                XSLFTextBox textBox = (XSLFTextBox) shape;
                // টেক্সটবক্স রিমুভ করা
                slide.removeShape(textBox);
                break; // প্রথম টেক্সটবক্স রিমুভ করার পর লুপ থেকে বের হয়ে যাওয়া
            }
        }

        // পরিবর্তিত PowerPoint ফাইল সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("modified_with_removed_element.pptx")) {
            ppt.write(out);
        }

        System.out.println("TextBox সফলভাবে রিমুভ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  1. PowerPoint ফাইল লোড: XMLSlideShow ppt = new XMLSlideShow(is); এর মাধ্যমে PowerPoint ফাইলটি লোড করা হয়।
  2. প্রথম স্লাইড নির্বাচন: XSLFSlide slide = ppt.getSlides().get(0); দিয়ে প্রথম স্লাইডটি নির্বাচন করা হয়।
  3. শেপ খুঁজে বের করা: স্লাইডের সব শেপ (Shape) লুপের মাধ্যমে যাচাই করা হয়, এবং যদি শেপটি TextBox হয়, তবে সেটি রিমুভ করা হয়।
  4. টেক্সটবক্স রিমুভ: slide.removeShape(textBox); দিয়ে টেক্সটবক্স শেপটি রিমুভ করা হয়।
  5. ফাইল সংরক্ষণ: পরিবর্তিত PowerPoint ফাইলটি modified_with_removed_element.pptx নামে সংরক্ষণ করা হয়।

সীমাবদ্ধতা ও অন্যান্য তথ্য:

  • Shapetype: আপনি যে শেপটি রিমুভ করতে চান তা নিশ্চিত করতে হবে। উদাহরণস্বরূপ, if (shape instanceof XSLFTextBox) দিয়ে টেক্সটবক্স শনাক্ত করা হয়েছে, তবে আপনি Image, Line, Picture, ইত্যাদি শেপ টেমপ্লেটের জন্য অনুরূপ কোড ব্যবহার করতে পারবেন।
  • Multiple Elements: যদি একাধিক উপাদান রিমুভ করতে চান, তবে একটি লুপের মধ্যে সব শেপের মাধ্যমে যাচাই করে, প্রতিটি শেপ বা উপাদানকে রিমুভ করতে পারেন।

সারাংশ

Apache POI ব্যবহার করে PowerPoint ফাইলের মধ্যে নির্দিষ্ট স্লাইড এবং শেপ/টেক্সটবক্স/ইমেজ রিমুভ করা যায়। আপনি স্লাইড বা শেপকে remove() মেথড ব্যবহার করে মুছে ফেলতে পারবেন। একাধিক স্লাইড বা উপাদান রিমুভ করার জন্য এই পদ্ধতি ব্যবহার করা যেতে পারে।

common.content_added_by

TextBox বা Shape এর কনটেন্ট রিসেট করা

164
164

Apache POI এর মাধ্যমে আপনি PowerPoint স্লাইডে উপস্থিত TextBox বা Shape এর কনটেন্ট রিসেট বা ক্লিয়ার করতে পারেন। এটি বিশেষত দরকারি হয় যখন আপনি পূর্বের কনটেন্ট মুছে ফেলে নতুন কনটেন্ট যোগ করতে চান।

TextBox বা Shape এর কনটেন্ট রিসেট করার প্রক্রিয়াটি সাধারণত টেক্সট সরিয়ে বা সংশোধন করে সম্পন্ন করা হয়।

TextBox বা Shape এর কনটেন্ট রিসেট করার জন্য পদক্ষেপ

  1. PowerPoint ফাইল খুলুন
  2. TextBox বা Shape খুঁজে বের করুন
  3. TextBox বা Shape এর কনটেন্ট মুছে ফেলুন
  4. ফাইল সংরক্ষণ করুন

উদাহরণ: PowerPoint স্লাইডে TextBox বা Shape এর কনটেন্ট রিসেট করা

এই উদাহরণে, আমরা Apache POI ব্যবহার করে একটি TextBox বা Shape এর কনটেন্ট রিসেট (মুছে ফেলা) করব।

PowerPoint স্লাইডে TextBox বা Shape এর কনটেন্ট রিসেট করার কোড:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.io.*;

public class ResetTextBoxContent {
    public static void main(String[] args) throws IOException {
        // PowerPoint ফাইলটি খুলুন
        XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("input.pptx"));

        // প্রথম স্লাইডটি পান
        XSLFSlide slide = ppt.getSlides().get(0);

        // স্লাইডে থাকা সমস্ত টেক্সট বক্স এবং শেপগুলো বের করুন
        for (XSLFShape shape : slide.getShapes()) {
            if (shape instanceof XSLFTextBox) {
                XSLFTextBox textBox = (XSLFTextBox) shape;
                
                // TextBox এর কনটেন্ট রিসেট (মুছে ফেলা)
                textBox.clearText();  // TextBox এর সমস্ত টেক্সট মুছে ফেলা হবে
            }
        }

        // ফাইল সংরক্ষণ করুন
        try (FileOutputStream out = new FileOutputStream("PowerPointWithResetText.pptx")) {
            ppt.write(out);
        }

        System.out.println("TextBox এর কনটেন্ট রিসেট করা হয়েছে!");
    }
}

ব্যাখ্যা:

  1. XMLSlideShow: XMLSlideShow ক্লাসের মাধ্যমে PowerPoint ফাইলটি খোলা হয়।
  2. getSlides(): এই মেথডটি PowerPoint ফাইলের সমস্ত স্লাইড প্রদান করে। আমরা প্রথম স্লাইডটি (get(0)) নির্বাচন করেছি।
  3. getShapes(): এই মেথডটি স্লাইডে উপস্থিত সমস্ত শেপগুলির একটি তালিকা প্রদান করে। এরপর, আমরা প্রতিটি শেপ চেক করি যে এটি TextBox কিনা।
  4. clearText(): clearText() মেথডটি TextBox এর সমস্ত টেক্সট মুছে ফেলে, যা কার্যত কনটেন্ট রিসেটের সমান।
  5. FileOutputStream: এটি সংশোধিত PowerPoint ফাইলটি নতুনভাবে সংরক্ষণ করতে ব্যবহৃত হয়।

PowerPoint স্লাইডে Shape এর কনটেন্ট রিসেট করা

Shape এর কনটেন্ট রিসেট করার জন্য, আপনি clearText() ব্যবহার করতে পারেন যদি শেপটি টেক্সট হোল্ডার হয় (যেমন TextBox)। অন্যথায়, আপনি শেপের ভিজ্যুয়াল কনটেন্ট বা অন্যান্য প্রপার্টি পরিবর্তন করতে পারেন।

উদাহরণ: TextBox বা Shape এর টেক্সট পরিবর্তন বা মুছে ফেলা

// PowerPoint ফাইল খুলুন
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("input.pptx"));

// প্রথম স্লাইডটি পান
XSLFSlide slide = ppt.getSlides().get(0);

// স্লাইডে থাকা সমস্ত শেপগুলো বের করুন
for (XSLFShape shape : slide.getShapes()) {
    if (shape instanceof XSLFTextBox) {
        XSLFTextBox textBox = (XSLFTextBox) shape;

        // TextBox এর টেক্সট মুছে ফেলা
        textBox.clearText();
        
        // নতুন টেক্সট যোগ করা (যদি চাই)
        textBox.addNewTextParagraph().addNewTextRun().setText("নতুন টেক্সট");
    }
}

// ফাইল সংরক্ষণ করুন
try (FileOutputStream out = new FileOutputStream("PowerPointWithUpdatedText.pptx")) {
    ppt.write(out);
}

System.out.println("TextBox এর কনটেন্ট রিসেট এবং নতুন টেক্সট যোগ করা হয়েছে!");

Apache POI ব্যবহার করে PowerPoint স্লাইডে TextBox বা Shape এর কনটেন্ট রিসেট করা সহজ। আপনি clearText() মেথডের মাধ্যমে টেক্সট মুছে ফেলতে পারেন এবং নতুন টেক্সট যোগ করতে পারেন। এটি বিশেষত তখন কার্যকরী যখন আপনি একটি টেমপ্লেট বা একই স্লাইড থেকে বিভিন্ন কনটেন্ট তৈরি করতে চান। Shape এর কনটেন্ট কাস্টমাইজ করতে আপনি শেপের ভিজ্যুয়াল কনটেন্টের উপর নির্ভরশীল হয়ে আরও কাস্টমাইজেশন করতে পারেন।

common.content_added_by

প্রোগ্রামেটিকভাবে Slide বা Presentation কাস্টমাইজ করা

147
147

Apache POI লাইব্রেরি ব্যবহার করে আপনি প্রোগ্রামেটিকভাবে PowerPoint স্লাইড বা প্রেজেন্টেশন কাস্টমাইজ করতে পারেন। এখানে আপনি স্লাইডের বিভিন্ন বৈশিষ্ট্য যেমন টেক্সট, শেপ, গ্রাফিক্স, ট্রানজিশন, অ্যানিমেশন ইত্যাদি কাস্টমাইজ করতে পারবেন। XSLF ক্লাসের সাহায্যে আপনি স্লাইডের কন্টেন্ট, স্টাইল, এবং অন্যান্য বৈশিষ্ট্য প্রোগ্রামেটিকভাবে পরিবর্তন করতে পারেন।


PowerPoint স্লাইড কাস্টমাইজ করা

PowerPoint স্লাইড কাস্টমাইজ করার জন্য, আপনি নিম্নলিখিত কার্যক্রমগুলো করতে পারেন:

  1. স্লাইডের ব্যাকগ্রাউন্ড পরিবর্তন
  2. স্লাইডে টেক্সট ও ফন্ট কাস্টমাইজ করা
  3. শেপ, ছবি ও গ্রাফিক্স যোগ করা
  4. স্লাইড ট্রানজিশন কাস্টমাইজ করা

স্লাইডের ব্যাকগ্রাউন্ড পরিবর্তন

PowerPoint স্লাইডের ব্যাকগ্রাউন্ড কাস্টমাইজ করতে আপনি XSLFSlide এর ব্যাকগ্রাউন্ড সেট করতে পারেন।

উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class CustomizeSlideBackground {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // স্লাইডের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করা
            slide.getBackground().setFillColor(Color.CYAN);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_background.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with customized background created.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • slide.getBackground().setFillColor(Color.CYAN): এটি স্লাইডের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করে। এখানে Color.CYAN ব্যবহার করা হয়েছে, কিন্তু আপনি যেকোনো রঙ ব্যবহার করতে পারেন।

স্লাইডে টেক্সট কাস্টমাইজ করা

PowerPoint স্লাইডে টেক্সট যোগ করা এবং তার ফন্ট, সাইজ, রঙ ইত্যাদি কাস্টমাইজ করার জন্য আপনি XSLFTextBoxXSLFTextRun ব্যবহার করতে পারেন।

উদাহরণ:

import org.apache.poi.xslf.usermodel.*;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class CustomizeTextInSlide {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // টেক্সট বক্স তৈরি করা
            XSLFTextBox textBox = slide.createTextBox();
            XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
            XSLFTextRun textRun = paragraph.addNewTextRun();
            textRun.setText("Welcome to Apache POI!");

            // টেক্সট কাস্টমাইজ করা
            textRun.setFontSize(36.0);
            textRun.setFontColor(Color.RED);
            textRun.setBold(true);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_customized_text.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with customized text created.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setFontSize(36.0): এটি টেক্সটের ফন্ট সাইজ পরিবর্তন করে।
  • setFontColor(Color.RED): এটি টেক্সটের রঙ পরিবর্তন করে।
  • setBold(true): এটি টেক্সটকে বোল্ড করে।

স্লাইডে শেপ (Shape) কাস্টমাইজ করা

PowerPoint স্লাইডে বিভিন্ন ধরনের শেপ যেমন Rectangle, Oval, Line ইত্যাদি যোগ করা যায়। আপনি এগুলির আকার, রঙ, এবং অন্যান্য বৈশিষ্ট্য কাস্টমাইজ করতে পারেন।

উদাহরণ:

import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;

import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;

public class CustomizeShapeInSlide {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // শেপ (Rectangle) তৈরি করা
            XSLFAutoShape shape = slide.createAutoShape();
            shape.setShapeType(ShapeType.RECT);
            shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 100)); // শেপের অবস্থান এবং আকার

            // শেপের রঙ পরিবর্তন করা
            shape.setFillColor(Color.BLUE);

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_shape.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with customized shape created.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • setShapeType(ShapeType.RECT): এটি স্লাইডে একটি Rectangle শেপ তৈরি করে।
  • setAnchor(new java.awt.Rectangle(100, 100, 200, 100)): এটি শেপের অবস্থান এবং আকার সেট করে।
  • setFillColor(Color.BLUE): এটি শেপের ভিতরের রঙ পরিবর্তন করে।

স্লাইডে গ্রাফিক্স বা ছবি যোগ করা

PowerPoint স্লাইডে ছবি যোগ করার জন্য, আপনি XSLFPictureShape ব্যবহার করতে পারেন।

উদাহরণ:

import org.apache.poi.xslf.usermodel.*;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddImageToSlide {
    public static void main(String[] args) {
        try {
            // নতুন PowerPoint স্লাইডশো তৈরি করা
            XMLSlideShow ppt = new XMLSlideShow();

            // একটি স্লাইড তৈরি করা
            XSLFSlide slide = ppt.createSlide();

            // ছবির ইনপুট স্ট্রিম
            FileInputStream imageStream = new FileInputStream("image.jpg");

            // ছবিটি PowerPoint স্লাইডে যোগ করা
            byte[] imageData = imageStream.readAllBytes();
            int pictureIndex = ppt.addPicture(imageData, PictureData.PictureType.JPEG);
            XSLFPictureShape picture = slide.createPicture(pictureIndex);

            // ছবির অবস্থান ও আকার সেট করা
            picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300));

            // PowerPoint ফাইল সেভ করা
            try (FileOutputStream out = new FileOutputStream("example_with_image.pptx")) {
                ppt.write(out);
            }

            System.out.println("PowerPoint presentation with image created.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

ব্যাখ্যা:

  • ppt.addPicture(imageData, PictureData.PictureType.JPEG): এটি একটি JPEG ছবি PowerPoint স্লাইডে যোগ করে।
  • createPicture(pictureIndex): এটি স্লাইডে ছবি বসানোর জন্য একটি XSLFPictureShape তৈরি করে।

স্লাইড ট্রানজিশন কাস্টমাইজ করা

Apache POI লাইব্রেরি এখনো PowerPoint স্লাইডের ট্রানজিশন (যেমন Fade, Wipe ইত্যাদি) কাস্টমাইজ করার জন্য পূর্ণ সমর্থন প্রদান করে না। তবে আপনি স্লাইডের হাইপারলিঙ্ক বা এনিমেশন যোগ করতে পারেন, যা কিছুটা ট্রানজিশন প্রভাব সৃষ্টি করে।


সারাংশ

Apache POI ব্যবহার করে আপনি PowerPoint স্লাইড এবং প্রেজেন্টেশন কাস্টমাইজ করতে পারেন, যেমন:

  1. স্লাইডের ব্যাকগ্রাউন্ড রঙ পরিবর্তন
  2. টেক্সট ফন্ট, সাইজ, এবং রঙ কাস্টমাইজ করা
  3. শেপ, ছবি, এবং গ্রাফিক্স যোগ করা
  4. স্লাইডের কন্টেন্ট প্রোগ্রামেটিকভাবে নিয়ন্ত্রণ

এইসব কাস্টমাইজেশন পদ্ধতির মাধ্যমে আপনি একটি PowerPoint প্রেজেন্টেশন সম্পূর্ণভাবে প্রোগ্রামেটিকভাবে তৈরি এবং কাস্টমাইজ করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion